
# 读取登录数据
import json

import app


def read_data(filename):
    """
    :param filename: 从外部传入的数据文件的路径
    :return:
    """
    # 1 打开外部传入的数据文件
    with open(filename, mode='r', encoding='utf-8') as f: #相当于f = open(filename,r,encoding="utf-8")
        # 2 把外部传入的数据文件转化为json类型
        jsonData = json.load(f)
        print("转化的json数据为：", jsonData)
        print("f：", f)
        # 定义存放列表元组数据的空列表
        result_list = list()
        # 3 使用for循环遍历json数据，并把json中字典数据转化为列表元组数据（parameterized工具需要）
        for login_data in jsonData:
            # print("转化为列表元组数据之前的login_data:", login_data)
            # 分析：json数据当中，数据展现形式键值对形式，其中，键不是我们需要的数据，值才是，所以我们只需要把值取出来，组合成列表元组对象即可
            result_list.append(tuple(login_data.values()))
            # print("result_list", result_list)
        print("最终转化成功的result_list:", result_list)
        # 4 返回转化完成的数据
        return result_list

# 读取员工数据
def read_emp_data(filename):
    # 打开文件
    with open(filename, mode='r',encoding='utf-8') as f:
        # 加载成json数据
        jsonData = json.load(f)
        # 定义空列表
        result_list = list()
        # 遍历数据，转化为列表元组对象
        for emp_data in jsonData:
            result_list.append(tuple(emp_data.values()))
        # 打印result_list
        print(result_list)

    return result_list


if __name__ == '__main__':
    filename = app.BASE_DIR + "/data/login.json" # 定义数据文件的路径
    read_data(filename) # 调用读取数据的函数
    emp_file_name = app.BASE_DIR + "/data/employee.json" # 定义员工数据文件的路径
    read_emp_data(emp_file_name) # 调用读取员工的数据函数
